home *** CD-ROM | disk | FTP | other *** search
/ QRZ! Ham Radio 6 / QRZ Ham Radio Callsign Database - Volume 6.iso / mac / files / finland / ddlcpack.lzh / DDLCVEC.S < prev    next >
Text File  |  1993-01-05  |  1KB  |  61 lines

  1. ; DDLC (Dual DDLC MC145488 - max 4 sync channels) interrupt hooks
  2.  
  3. include asmglobal.h
  4.     extrn    doret:proc,ddlcint:far,eoi:proc
  5.  
  6.     .DATA
  7.     extrn    Sssave:word
  8.     extrn    Spsave:word
  9.     extrn    Stktop
  10.  
  11.     .CODE
  12. dbase    dw    @Data        ; save loc for ds (must be in code segment)
  13.  
  14. ; ddlc0vec - high speed sync board #0 interrupt handler
  15.     public    ddlc0vec
  16.     label    ddlc0vec    far
  17.     push    ds        ; save on user stack
  18.     mov    ds,cs:dbase    ; establish interrupt data segment
  19.  
  20.     mov    Sssave,ss    ; stash user stack context
  21.     mov    Spsave,sp
  22.  
  23.     mov    ss,cs:dbase
  24.     lea    sp,Stktop
  25.  
  26.     PUSHALL
  27.     push    es
  28.     call    eoi
  29.  
  30.     mov    ax,0        ; arg for service routine
  31.     push    ax
  32.     call    ddlcint
  33.     inc    sp
  34.     inc    sp
  35.     jmp    doret
  36.  
  37. ; ddlc1vec - high speed sync board #1 interrupt handler
  38.     public    ddlc1vec
  39.     label    ddlc1vec    far
  40.     push    ds        ; save on user stack
  41.     mov    ds,cs:dbase    ; establish interrupt data segment
  42.  
  43.     mov    Sssave,ss    ; stash user stack context
  44.     mov    Spsave,sp
  45.  
  46.     mov    ss,cs:dbase
  47.     lea    sp,Stktop
  48.  
  49.     PUSHALL
  50.     push    es
  51.     call    eoi
  52.  
  53.     mov    ax,1        ; arg for service routine
  54.     push    ax
  55.     call    ddlcint
  56.     inc    sp
  57.     inc    sp
  58.     jmp    doret
  59.  
  60.     end
  61.